"""
邢不行｜策略分享会
仓位管理实盘框架

版权所有 ©️ 邢不行
微信: xbx1717

本代码仅供个人学习使用，未经授权不得复制、修改或用于商业用途。

Author: 邢不行
"""
# ====================================================================================================
# ** 实盘账户配置 **
# ‼️‼️‼️账户配置，需要在accounts下的文件中做配置 ‼️‼️‼️
# 此处只是展示配置的结构，具体配置情参考 accounts 文件夹下的 _55mBTC样例.py
# ====================================================================================================
account_config = {
    # ++++ 分钟偏移功能 ++++
    # 支持任意时间开始的小时级别K线
    'hour_offset': '40m',
}  # 实盘账户配置，需要在accounts下的文件中做配置，此处只是结构上的展示

# ====================================================================================================
# ** 策略细节配置 **
# ‼️‼️‼️需要在accounts下的文件中做配置‼️‼️‼️
# 此处只是展示配置的结构，具体配置情参考 accounts 文件夹下的 _55mBTC样例.py
# ====================================================================================================
strategy_name = '随机策略'  # 当前账户运行策略的名称。可以自己任意取
get_kline_num = 3868  # 获取多少根K线。这里跟策略日频和小时频影响。日线策略，代表多少根日线k。小时策略，代表多少根小时k
strategy_config = {
    'name': 'RotationStrategy',  # *必填。使用什么策略，这里是轮动策略
    'hold_period': '1H',  # *必填。聚合后策略持仓周期。目前回测支持日线级别、小时级别。例：1H，6H，3D，7D......
    'params': {
        'factor_list': [
            ('Bias', False, 1416, 1)
        ],
    },
}  # 策略配置
strategy_pool = [
    dict(
        name='浪淘沙多空',
        strategy_list=[
            # ===1.大学生(资金占比0.25)
            {
                "strategy": "Strategy_大学生多头",
                "offset_list": [3],
                "hold_period": '24H',
                "is_use_spot": True,
                'cap_weight': 0.25,
                'long_cap_weight': 1,
                'short_cap_weight': 0,
                'long_select_coin_num': 0.1,
                'short_select_coin_num': 0,
                "factor_list": [
                    ('CirculatingMcap', True, 1, 1),
                ],
                "filter_list": [
                    ('ZfStd', 18, 'pct:<0.8'),
                ],
                "filter_list_post": [
                    ('ZfMeanQ', 936, 'val:>0.5'),
                ],
                "use_custom_func": False,
            },
            # ===2.GA(资金占比0.25)
            {
                "strategy": "Strategy_GA多头",
                "offset_list": [6],
                "hold_period": '24H',
                "is_use_spot": True,
                'cap_weight': 0.25,
                'long_cap_weight': 1,
                'short_cap_weight': 0,
                'long_select_coin_num': 0.1,
                'short_select_coin_num': 0,
                "factor_list": [
                    ('RankDiff_spot', True, 1176, 1),
                ],
                "filter_list_post": [
                    ('ZfMeanQ', 648, 'val:>0.5'),
                ],
                "use_custom_func": False,
            },
            # ===3.黄果树系列1(资金占比0.3)
            {
                "strategy": "Strategy_黄果树系列1",
                "offset_list": [4],
                "hold_period": '24H',
                "is_use_spot": False,
                'cap_weight': 0.3,
                'long_cap_weight': 0,
                'short_cap_weight': 1,
                'long_select_coin_num': 0,
                'short_select_coin_num': 0.5,
                "factor_list": [
                    ('MinMax', False, 432, 1),
                ],
                "filter_list": [
                    ('QuoteVolumeMean', 432, 'pct:<0.2', False),
                ],
                "filter_list_post": [
                    ('ZscoreAbsMeanQ', 432, 'val:<0.5'),
                ],
                "use_custom_func": False  # 使用系统内置因子计算、过滤函数
            },
            # ===4.黄果树系列2(资金占比0.1)
            {
                "strategy": "Strategy_黄果树系列2",
                "offset_list": [19],
                "hold_period": '24H',
                "is_use_spot": False,
                'cap_weight': 0.1,
                'long_cap_weight': 0,
                'short_cap_weight': 1,
                'long_select_coin_num': 0,
                'short_select_coin_num': 0.5,
                "factor_list": [
                    ('QuoteVolumeMean', True, 528, 1),
                ],
                "filter_list": [
                    ('BiasQ', 528, 'pct:<0.2'),
                ],
                "filter_list_post": [
                    ('ZscoreAbsMeanQ', 528, 'val:<0.5'),
                ],
                "use_custom_func": False  # 使用系统内置因子计算、过滤函数
            },
            # ===5.黄果树系列3(资金占比0.1)
            {
                "strategy": "Strategy_黄果树系列3",
                "offset_list": [12],
                "hold_period": '24H',
                "is_use_spot": False,
                'cap_weight': 0.1,
                'long_cap_weight': 0,
                'short_cap_weight': 1,
                'long_select_coin_num': 0,
                'short_select_coin_num': 9999,
                "factor_list": [
                    ('QuoteVolumeMean', True, 1, 1),
                ],
                "filter_list": [
                    ('MinMax', 552, 'pct:<0.15'),
                    ('QuoteVolumeMean', 552, 'pct:<0.15', False),
                ],
                "filter_list_post": [
                    ('ZfMeanQ', 552, 'val:<0.5'),
                ],
                "use_custom_func": False  # 使用系统内置因子计算、过滤函数
            },
        ]
    ),
    dict(
        name='浪淘沙多空-仅空头过滤',
        strategy_list=[
            # ===1.大学生(资金占比0.25)
            {
                "strategy": "Strategy_大学生多头",
                "offset_list": [3],
                "hold_period": '24H',
                "is_use_spot": True,
                'cap_weight': 0.25,
                'long_cap_weight': 1,
                'short_cap_weight': 0,
                'long_select_coin_num': 0.1,
                'short_select_coin_num': 0,
                "factor_list": [
                    ('CirculatingMcap', True, 1, 1),
                ],
                "filter_list": [
                    ('ZfStd', 18, 'pct:<0.8'),
                ],
                "use_custom_func": False,
            },
            # ===2.GA(资金占比0.25)
            {
                "strategy": "Strategy_GA多头",
                "offset_list": [6],
                "hold_period": '24H',
                "is_use_spot": True,
                'cap_weight': 0.25,
                'long_cap_weight': 1,
                'short_cap_weight': 0,
                'long_select_coin_num': 0.1,
                'short_select_coin_num': 0,
                "factor_list": [
                    ('RankDiff_spot', True, 1176, 1),
                ],
                "use_custom_func": False,
            },
            # ===3.黄果树系列1(资金占比0.3)
            {
                "strategy": "Strategy_黄果树系列1",
                "offset_list": [4],
                "hold_period": '24H',
                "is_use_spot": False,
                'cap_weight': 0.3,
                'long_cap_weight': 0,
                'short_cap_weight': 1,
                'long_select_coin_num': 0,
                'short_select_coin_num': 0.5,
                "factor_list": [
                    ('MinMax', False, 432, 1),
                ],
                "filter_list": [
                    ('QuoteVolumeMean', 432, 'pct:<0.2', False),
                ],
                "filter_list_post": [
                    ('ZscoreAbsMeanQ', 432, 'val:<0.5'),
                ],
                "use_custom_func": False  # 使用系统内置因子计算、过滤函数
            },
            # ===4.黄果树系列2(资金占比0.1)
            {
                "strategy": "Strategy_黄果树系列2",
                "offset_list": [19],
                "hold_period": '24H',
                "is_use_spot": False,
                'cap_weight': 0.1,
                'long_cap_weight': 0,
                'short_cap_weight': 1,
                'long_select_coin_num': 0,
                'short_select_coin_num': 0.5,
                "factor_list": [
                    ('QuoteVolumeMean', True, 528, 1),
                ],
                "filter_list": [
                    ('BiasQ', 528, 'pct:<0.2'),
                ],
                "filter_list_post": [
                    ('ZscoreAbsMeanQ', 528, 'val:<0.5'),
                ],
                "use_custom_func": False  # 使用系统内置因子计算、过滤函数
            },
            # ===5.黄果树系列3(资金占比0.1)
            {
                "strategy": "Strategy_黄果树系列3",
                "offset_list": [12],
                "hold_period": '24H',
                "is_use_spot": False,
                'cap_weight': 0.1,
                'long_cap_weight': 0,
                'short_cap_weight': 1,
                'long_select_coin_num': 0,
                'short_select_coin_num': 9999,
                "factor_list": [
                    ('QuoteVolumeMean', True, 1, 1),
                ],
                "filter_list": [
                    ('MinMax', 552, 'pct:<0.15'),
                    ('QuoteVolumeMean', 552, 'pct:<0.15', False),
                ],
                "filter_list_post": [
                    ('ZfMeanQ', 552, 'val:<0.5'),
                ],
                "use_custom_func": False  # 使用系统内置因子计算、过滤函数
            },
        ]
    ),
]  # 策略池
leverage = 1  # 杠杆数。我看哪个赌狗要把这里改成大于1的。高杠杆如梦幻泡影。不要想着一夜暴富，脚踏实地赚自己该赚的钱。
black_list = []  # 拉黑名单，永远不会交易。不喜欢的币、异常的币。例：LUNA-USDT, 这里与实盘不太一样，需要有'-'
white_list = []  # 如果不为空，即只交易这些币，只在这些币当中进行选币。例：LUNA-USDT, 这里与实盘不太一样，需要有'-'
# rebalance_mode =  # 换仓模式控制
is_pure_long = False  # 纯多设置(https://bbs.quantclass.cn/thread/36230)
